#include <iostream>
#include <cmath>
#include <set>

using namespace std;

const int INF = 1e7 + 10;

// 1.第一天的营业额就是最小波动值
// 2.接下来每一天的最小波动值就是|每天的营业额-以前某一天的营业额|的最小值

int n;
set<int> mp; // 存储 i 天之前的营业额

int main()
{
	cin >> n;
	int ret; cin >> ret;
	mp.insert(ret);

	//左右护法 - 防止越界
	mp.insert(-INF); mp.insert(INF);

	for(int i = 2; i <= n; i++)
	{
		int x; cin >> x;

		//找出距离 x 最近的那一个 
		auto it = mp.lower_bound(x);
		auto tmp = it;
		tmp--;

		if(*it == x) continue;

		ret += min(abs(x - *tmp), abs(x - *it));
		mp.insert(x);
	}
	cout << ret << endl;

	return 0;
}

